home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -seriously_amiga- / misc / xpdf_0.8 / archive / xpdf-0.8-src.lha / xpdf-0.8-src / xpdf / Parser.h < prev    next >
C/C++ Source or Header  |  1998-11-28  |  1KB  |  52 lines

  1. //========================================================================
  2. //
  3. // Parser.h
  4. //
  5. // Copyright 1996 Derek B. Noonburg
  6. //
  7. //========================================================================
  8.  
  9. #ifndef PARSER_H
  10. #define PARSER_H
  11.  
  12. #ifdef __GNUC__
  13. #pragma interface
  14. #endif
  15.  
  16. #include "Lexer.h"
  17.  
  18. //------------------------------------------------------------------------
  19. // Parser
  20. //------------------------------------------------------------------------
  21.  
  22. class Parser {
  23. public:
  24.  
  25.   // Constructor.
  26.   Parser(Lexer *lexer1);
  27.  
  28.   // Destructor.
  29.   ~Parser();
  30.  
  31.   // Get the next object from the input stream.
  32.   Object *getObj(Object *obj);
  33.  
  34.   // Get stream.
  35.   Stream *getStream() { return lexer->getStream(); }
  36.  
  37.   // Get current position in file.
  38.   int getPos() { return lexer->getPos(); }
  39.  
  40. private:
  41.  
  42.   Lexer *lexer;            // input stream
  43.   Object buf1, buf2;        // next two tokens
  44.   int inlineImg;        // set when inline image data is encountered
  45.  
  46.   Stream *makeStream(Object *dict);
  47.   void shift();
  48. };
  49.  
  50. #endif
  51.  
  52.